﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DAO;
using BUS;
namespace QLTTTH
{
    public partial class frm_HocPhi : DevExpress.XtraEditors.XtraForm
    {
        public frm_HocPhi()
        {
            InitializeComponent();
        }
        LOAILOP loailop = new LOAILOP();
        LSTHAYDOI thaydoi = new LSTHAYDOI();
        BUS_LopHoc LOPHOC = new BUS_LopHoc();
        string strSoTietCu;
        string strHocPhiCu;
        string strPhiGD;
        private void frm_molopmoi_Load(object sender, EventArgs e)
        {
           gvLopHoc.DataSource =  LOPHOC.LayThongTinLoaiLop();
           gvLopHoc.Rows[0].Selected.ToString();
           btnThayDoi.Visible = false;
           btnSua.Visible = false;
           btnLuu.Enabled = false;
           khoatextbox(false);
           rbpgBangHocPhi main = new rbpgBangHocPhi();
           main.Enabled = false;
        }

        private void gv_lophoc_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                int dong = e.RowIndex;
                x.Text = gvLopHoc.Rows[dong].Cells["TENLOP"].Value.ToString();
                txtSoTiet.Text = gvLopHoc.Rows[dong].Cells["SOTIET"].Value.ToString();
                txtHocPhi.Text = gvLopHoc.Rows[dong].Cells["HOCPHI"].Value.ToString();
                txtPhiGiangDay.Text = gvLopHoc.Rows[dong].Cells["PHIGD"].Value.ToString();
                lbl_test.Text = gvLopHoc.Rows[dong].Cells["MALOAILOP"].Value.ToString();
                btnLuu.Enabled = false;
                btnThemLopMoi.Enabled = true;
                btnThemLopMoi.Enabled = true;
                khoatextbox(false);
                btnSua.Visible = true;
                strSoTietCu = gvLopHoc.Rows[dong].Cells["SOTIET"].Value.ToString();
                strHocPhiCu = gvLopHoc.Rows[dong].Cells["HOCPHI"].Value.ToString();
                strHocPhiCu = gvLopHoc.Rows[dong].Cells["PHIGD"].Value.ToString();
            }
            catch
            { 
            }
        }
        private bool khoatextbox(bool gt)
        {
            x.Enabled = gt;
            txtSoTiet.Enabled = gt;
            txtPhiGiangDay.Enabled = gt;
            txtHocPhi.Enabled = gt;
            return gt;
        }
        private void XoaTextBox()
        {
            x.Text = null;
            txtSoTiet.Text = null; ;
            txtPhiGiangDay.Text = null;
            txtHocPhi.Text = null;
            
        }
       

        private void btn_thoat_Click_1(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txt_hocphi_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
           
        }

        private void txt_phigiangday_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }
        private bool KiemTraTenLop(string strTenlop)
        {
            for (int i = 1; i < gvLopHoc.Rows.Count; i++)
            {
                if (gvLopHoc.Rows[i].Cells["TENLOP"].Value.ToString() == strTenlop)
                {
                    return true;
                }
            }
            return false;
        }

        private void btn_MoLopMoi_Click(object sender, EventArgs e)
        {
            frm_molopmoi_Load(sender, e);
            if ( txtPhiGiangDay.Text == "" || txtSoTiet.Text == "" || x.Text == "" || x.Text == "")
            {
                XtraMessageBox.Show("Chưa nhập đầy đủ thông tin", "Thông báo");
                btnLuu.Enabled = true;
            }
            else if(Convert.ToInt32(txtHocPhi.Text) <= Convert.ToInt32(txtPhiGiangDay.Text))
            {
                MessageBox.Show("Phí giảng dạy không được lớn hơn hoặc bằng học phí","Thông báo");
                btnLuu.Enabled = true; 
            }
            else if (Convert.ToInt32(txtHocPhi.Text) < 1000  || Convert.ToInt32(txtPhiGiangDay.Text) < 1000)
            {
                MessageBox.Show("Tiền không hợp lệ", "Thông báo");
                btnLuu.Enabled = true; 
            }
            else
            {
                try
                {
                    if (KiemTraTenLop(x.Text) == true)
                    {
                        DialogResult hoi = XtraMessageBox.Show("Lớp đã tồn tại, bạn có muốn thay đổi thông tin lớp", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                        if (hoi == DialogResult.Yes)
                        {

                            khoatextbox(true);
                            btnThayDoi.Visible = true;
                            btnThemLopMoi.Enabled = false;
                            gvLopHoc.Enabled = false;
                            x.ReadOnly = true;


                        }
                        else
                        {
                            XoaTextBox();
                        }
                    }
                    else
                    {
                        DialogResult hoi = XtraMessageBox.Show("Bạn có chắn chắn lưu không ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (hoi == DialogResult.Yes)
                        {
                            loailop.TENLOP = x.Text;
                            loailop.SOTIET = Convert.ToInt32(txtSoTiet.Text);
                            loailop.HOCPHI = txtHocPhi.Text;
                            loailop.PHIGD = txtPhiGiangDay.Text;
                            if (LOPHOC.ThemLopMoi(loailop) == true)
                            {
                                XtraMessageBox.Show("Thêm lớp mới thành công", "Thông báo");
                                btnThemLopMoi.Visible = true;
                                btnLuu.Enabled = false;
                                gvLopHoc.DataSource = LOPHOC.LayThongTinLoaiLop();
                                btnThemLopMoi.Enabled = true;
                               
                                khoatextbox(false);
                            }
                            else
                            {
                                XtraMessageBox.Show("Không thêm được lớp, xin kiểm tra lại", "Thông báo");
                            } 
                            gvLopHoc.Enabled = true;
                        }
                        else
                        {

                        }
                    }
                }
                catch
                {
                    XtraMessageBox.Show("Không mở được lớp, xin kiểm tra lại", "Thông báo");
                }
            }
        }

        private void btn_themlopmoi_Click(object sender, EventArgs e)
        {
            btnLuu.Enabled = true;
            btnThemLopMoi.Enabled = false;
            btnSua.Visible = false;
            khoatextbox(true);
            x.Enabled = true;
            XoaTextBox();
        }
       
        private void btn_thaydoi_Click(object sender, EventArgs e)
        {
           
            loailop.SOTIET = Convert.ToInt32(txtSoTiet.Text);
            loailop.HOCPHI = txtHocPhi.Text;
            loailop.PHIGD = txtPhiGiangDay.Text;
            loailop.TENLOP = x.Text;
            DialogResult hoi = XtraMessageBox.Show("Bạn có muốn thay đổi thông tin lớp không ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (hoi == DialogResult.Yes)
            {
                if (txtPhiGiangDay.Text == "" || txtSoTiet.Text == "" || x.Text == "" || x.Text == "")
                {
                    XtraMessageBox.Show("Chưa nhập đầy đủ thông tin", "Thông báo");
                    btnLuu.Enabled = true;
                }
                else if (Convert.ToInt32(txtHocPhi.Text) <= Convert.ToInt32(txtPhiGiangDay.Text))
                {
                    MessageBox.Show("Phí giảng dạy không được lớn hơn hoặc bằng học phí", "Thông báo");
                    btnLuu.Enabled = true;
                }
                else if (Convert.ToInt32(txtHocPhi.Text) < 1000 || Convert.ToInt32(txtPhiGiangDay.Text) < 1000)
                {
                    MessageBox.Show("Tiền không hợp lệ", "Thông báo");
                    btnLuu.Enabled = true;
                }
                else if (LOPHOC.CapNhatLop(loailop) == true)
                {
                    
                    thaydoi.SOTIETCU = Convert.ToInt32(strHocPhiCu);
                    thaydoi.HOCPHICU = strHocPhiCu;
                    thaydoi.PHIGDCU = strPhiGD;
                    thaydoi.NGAYTHAYDOI = DateTime.Now;
                    thaydoi.MALOAILOP = lbl_test.Text;
                    thaydoi.SOTIETMOI = Convert.ToInt32(txtSoTiet.Text);
                    thaydoi.HOCPHIMOI = txtHocPhi.Text;
                    thaydoi.PHIGDMOI = txtPhiGiangDay.Text;
                    if (LOPHOC.LuuVet(thaydoi) == true)
                    {
                        XtraMessageBox.Show("Cập nhật thành công", "Thông báo");
                    }                  
                    khoatextbox(false);
                    btnThayDoi.Visible = false;
                    btnLuu.Enabled = false;
                   
                }
                else
                {
                    XtraMessageBox.Show("Cập nhật thất bại", "Thông báo");
                }
                btnThemLopMoi.Enabled = true;
                gvLopHoc.Enabled = true;
            }
            else
            {
                khoatextbox(false);
                btnThayDoi.Visible = false;
                btnLuu.Enabled = false;
            }
        }
      

        private void btn_chinhsua_Click(object sender, EventArgs e)
        {
            btnThemLopMoi.Enabled = false;
            btnSua.Visible = false;
            btnThayDoi.Visible = true;
            khoatextbox(true);
            x.Enabled = false;
        }

        private void txt_sotiet_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }
    }
}